#pragma once

#include "Misc.h"

Misc::Misc(string mFile, string dFile, string iconLoc, string n, string a, D3DXMATRIX tMatrix)
:Object(mFile, dFile, iconLoc, n, a, tMatrix), group(0), soundFile("None") {}

Misc::Misc(string mFile, string dFile, string iconLoc, string n, string a, D3DXMATRIX tMatrix, 
		   string pur, float hRadi, int ord, string t)
:Object(mFile, dFile, iconLoc, n, a, tMatrix), purpose(pur), hRadius(hRadi), order(ord), type(t), group(0), soundFile("N/A") {}

void Misc::setPurpose(string pur) {
	purpose = pur;
}

void Misc::setHRadius(float hRadi) {
	hRadius = hRadi;
}

void Misc::setOrder(int ord) {
	order = ord;
}

void Misc::setType(string t) {
	type = t;
}

void Misc::setGroup(int grp) {
	group = grp;
}

string Misc::getPurpose(void) {
	return purpose;
}

float Misc::getHRadius(void) {
	return hRadius;
}

int Misc::getOrder(void) {
	return order;
}

string Misc::getType(void) {
	return type;
}

int Misc::getGroup(void) {
	return group;
}

void Misc::saveInfoToFile(ofstream &out) {
	out << modelFile << "\n";
	out << dataFile << "\n";
	out << iconLocation << "\n";
	out << name << "\n";
	out << alignment << "\n";
	out << getPosition().x << " ";
	out << getPosition().y << " ";
	out << getPosition().z << "\n";
	out << getScale().x << " ";
	out << getScale().y << " ";
	out << getScale().z << "\n";
	out << getRotation().x << " ";
	out << getRotation().y << " ";
	out << getRotation().z << "\n";

	out << purpose << "\n";
	out << hRadius << "\n";
	out << order << "\n";
	out << type << "\n";
	out << group << "\n";
	out << soundFile << "\n";
}